Music game software and input device utilizing a video player

ABSTRACT

A video game includes an audio-video stream combined with game graphics and game sounds. The game graphics are overlaid on the video stream and updated in synchronization with the stream. Update of the game graphics and sounds depends on inputs received from a game player. The game player may provide input using a game controller coupled to the video game by an adapter. The video game may play on a Blu-ray player.

BACKGROUND OF THE INVENTION

The present invention generally relates to video games and, moreparticularly, to a video game and a peripheral for a video game playedon a movie player.

Video games provide fun and enjoyment for many. Video games allow gameplayers to participate in a variety of simulated activities, includingthose that the game players may not be able or desire to experiencedirectly. Video games receive interactive inputs from users and mayproduce vibrant visual displays with accompanying audio.

Video games are often provided by way of a dedicated electronic gamedevice. Such devices may include a variety of special capabilities, forexample capabilities related to processing speed, increased graphicscapabilities, or other specialized functions. Some game players may notplay video games requiring some or all of these special capabilities,and may not wish to bear the costs of paying for such capabilities. Inaddition, such dedicated electronic game devices may require connectionto other devices such as televisions, which themselves may also beconnected to a host of still other devices, resulting in increasedclutter.

BRIEF SUMMARY OF THE INVENTION

In various aspects the invention provides a method performed by a movieplayer including a video disc reader, a media decoder for decodingaudio-video data from the video disc reader, and a processor configuredby program instructions, the method comprising: commanding playback of avideo clip comprised of a sequence of video frames as part of providingpresentations of a video game, the playback of the video clip includingdecoding of video data stored on a local removable optical media toprovide decoded video signals; commanding display of game graphics aspart of providing presentations of the video game in conjunction withplayback of the video clip, with display location of game graphicscoordinated with respect to display location of video imagery of thevideo frames; and commanding display of revised game graphics as part ofproviding presentations of the video game based on input received from acontroller data-coupled to the movie player.

Another aspect of the invention provides a system for video game playconfigured by program instructions, the device comprising: an opticaldisc reader for reading data from an optical disc, the data includingaudio and video data; a media decoder coupled to the optical disc readerand configured to decode the audio-video data to produce decoded audioand video signals; a processor coupled to the optical disc reader andconfigured by program instructions to command presentation of gamegraphics and additional game sounds, at least some of the game graphicsor additional game sounds in response to actions by a game player; and agame controller coupled to the processor and configured to receiveactions from the game player and supply corresponding signals to theprocessor.

Another aspect of the invention provides a non-transitorycomputer-readable medium containing program instructions, the programinstructions comprising: instructions that command playback of a videoclip comprised of a sequence of video frames as part of providingpresentations of a video game, the playback of the video clip includingdecoding of video data to provide decoded video signals; instructionsthat command display of game graphics for the video game in displaylocations that do not substantially degrade viewing of video frames ofthe video clip; and instructions that command display of revised gamegraphics based on input received from a controller.

These and other aspects of the invention are more fully comprehendedupon review of this disclosure.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is an example of a video game system in accordance with aspectsof the invention;

FIG. 2 is a block diagram of a movie player in accordance with aspectsof the invention;

FIG. 3 is a flowchart of a process for a video game in accordance withaspects of the invention;

FIG. 4 is flowchart of another process for a video game in accordancewith aspects of the invention;

FIG. 5 is flowchart of other process for a video game in accordance withaspects of the invention;

FIG. 6 is flowchart of a process for music-based video game inaccordance with aspects of the invention; and

FIG. 7 is a block diagram of a game controller adapter in accordancewith aspects of the invention.

DETAILED DESCRIPTION

FIG. 1 illustrates an example of a video game system in accordance withaspects of the invention. The video game system includes a movie player111. The movie player includes circuitry for reading audio and videodata from a local memory, for example an optical disk, and forprocessing the audio and video data for presentation, for example forprovision of audio and video signals to a display device 121, which mayinclude audio capabilities. In some embodiments, the movie player may bea Blu-ray player, capable for example of playing a BLU-RAY DISC®. Thedisplay device is generally coupled to the movie player by anaudio-video cable 113. The display device may also be coupled to themovie player wirelessly. Wireless coupling may use a wireless adapter atthe display device, the movie player, or both. In some embodiments, themovie player is integrated with a device having a built-in display andbuilt-in speakers.

The movie player also includes circuitry, generally in the form of oneor more processors or processing cores, for executing programinstructions providing for video game play including, in manyembodiments, selection of audio and video data from the local memory.Generally video game play may be provided by presenting a game player,or user, displays to which the user responds, and modifying the displaysin response to user inputs, thereby providing an interactive userexperience. In some embodiments, the video games may be music-basedvideo games, for example, in which a game player attempts to operate asimulated musical instrument or move about (as indicated by anelectronic pad, accelerometer, or imaging device) in response todisplayed instructive cues. In other embodiments, the video game may bea sport related game, for example a driving game, or other type of game.

The program instructions for providing video game play include,variously in different embodiments, program instructions for processinginputs from a controller 101 and determining game states, selection ofaudio and video data for presentation, generating graphic overlayinformation, which may be considered game graphics, and, in someembodiments, additional audio information. The game graphics and theadditional audio information may depend on currently selected audio andvideo data, as well as game states.

For example, the processor, as configured by program instructions, maycause display of a music track overlaid on a music video for a musicgame or display of an automotive dashboard or lanes of a road overlaidon a road scene for a driving game, with display of the music video orroad scene being based on the video data read from the local memory. Inmany embodiments the video data includes data for use in displayingvideo frames. In some embodiments video imagery is not present inportions of the video frames, or, if present, is unimportant to contentof the video frames such that an inability to view those portions doesnot substantially degrade a typical user's viewing enjoyment of thevideo frames. For example, video frames may depict scenes includingforeground and background, with the background either unnecessary or notfully necessary for a user's understanding or viewing enjoyment of avideo scene. Similarly, video frames may depict scenes formed ofrendered graphics, and the video frames may include portions devoid ofimagery provided by the rendered graphics. In such embodiments theprocessor may command display of game graphics, for example note tracks,in display locations which would otherwise display background videoimages or be devoid of imagery. Such display locations for game graphicsmay be identified, for example, based on prior knowledge of displayinformation of the video frames or of the rendered graphics.

The processor generally generates game graphics information and/or gamesounds information responsive to inputs from the controller, withgeneration of the game graphics and/or game sounds synchronized toplayback or commanded playback of the audio and video data, in manyembodiments. The game graphics information and game sound informationare combined, by circuitry of the movie player, in the audio and videodisplay signals for common presentation on the display. In someembodiments, of course, the circuitry for reading audio and video datafrom the local memory and for processing the audio and video data may beincluded, at least in part, in the processor.

The movie player therefore includes circuitry for receiving inputs fromthe controller 101, which may be manipulated by a game player. Thecircuitry in various embodiments may be circuitry of an Ethernet port, aUSB port, wireless receiver or transceiver circuitry, or othercircuitry. The controller includes one or more input devices for thegame player to signal game actions. Example input devices includebuttons, switches, accelerometers, position sensors, and microphones. Insome embodiments, and as shown in FIG. 1, the controller has a guitarshape and may include, for example, a strum bar and fret buttons as userinput devices. In other embodiments, controllers may include a steeringwheel 102A, a microphone 102B, or a joystick 102C as user input devicesor various embodiments may include other controllers commonly used invideo game play. In some embodiments the controller may be incommunication with the wireless receiver of the movie player usingBLUETOOTH® compliant communications or other communication formats. Inaddition, in some embodiments the controller may be in communicationwith the wireless receiver of the movie player by way of infraredcommunications, and the controller may include infrared transmissioncapabilities, and in some embodiments the controller may be, forexample, a cellular telephone, for example one with expanded datacapabilities, a personal digital assistant or other portable consumerelectronic devices with infrared transmission capabilities.

The movie player is coupled to the controller by way of an adapter 141.The adapter is coupled to the controller by a controller link 145 and tothe movie player by an adapter link 143. In some embodiments, thecontroller link is a universal serial bus (USB) cable and the controllerand the adapter include USB interfaces. In some embodiments, thecontroller, provides musical instrument digital interface (MIDI)compliant signals to the adapter, which may also provide MIDI compliantsignals to the movie player. In some embodiments the adapter maytranslate non-MIDI compliant signals from the controller to MIDIcompliant signals to be sent to the movie player, and in someembodiments the adapter may translate MIDI compliant signals from thecontroller to some other signal format for signals to be sent to themovie player. In some embodiments, the adapter link is an Ethernet cableand the adapter and the movie player include Ethernet interfaces. Eitheror both of the controller link and the adapter link may use a wirelessconnection. For example, FIG. 1 illustrates the controllers with thesteering wheel, the microphone, and the joystick with wirelessconnections. In some embodiments, multiple controllers are coupled tothe adapter. Each controller may be used, for example, by a differentone of multiple game players.

In many embodiments, as illustrated in FIG. 1, the display device is atelevision that provides both visual and sound reproduction. In otherembodiments, the audio and video signals are reproduced by separatedevices. A display screen 123 of the display device displays videoimages of game play, generally as commanded by the processor or othercircuitry of the movie player. In the embodiment of FIG. 1, the displayscreen shows a screen shot of video game play with combined display of avideo imagery 125, for example of a music video, overlaid by a musictrack 127 with portions highlighted according to actions by the gameplayer. In another embodiment, the display screen of a driving game mayinclude a road scene overlaid by an automotive dashboard graphic.

FIG. 2 is a block diagram of an embodiment of a movie player inaccordance with aspects of the invention, although in variousembodiments different movie players may include additional or fewerfeatures, or may be implemented in different manners. A processor 211generally uses program instructions to control game play in the movieplayer. The processor controls a video disc 201 using a disc controller223. Data, including program instructions and audio and video data, areread from the video disc using a disc reader 203. Program instructionsthat are read from the video disc are stored in an application cache 221for use by the processor. The program instructions, in some embodiments,may include instructions to read a model identifier or other indicationsof capabilities of the movie player with other instructions includingdifferent sequences of instructions for the processor to perform basedon the capabilities of the movie player. Audio and video data that areread from the video disc are temporarily stored in a buffer 205. Thebuffer passes the audio and video data to a media decoder 207 as audioand video streams. Decoded audio and video signals from the mediadecoder are supplied for viewing and listening by way of a combiner 209.Audio and video signals output from the combiner may be coupled to atelevision or other devices for conversion to visual and sound form. Insome embodiments, the video disc stores the audio and video data in acompressed form and the movie player decompresses the audio and videodata to supply the decoded audio and video signals.

For game play, the processor produces game graphics and game sounds tobe combined with the decoded audio and video signals from the mediadecoder. The processor may algorithmically generate or render the gamegraphics and game sounds. The game graphics are generally generated astwo-dimensional graphics. The processor may also use stored audiosegments or images in generating the game graphics and game sounds. Thestored audio segments and images may be read from the video disc alongwith the program instructions. The game graphics and game sounds arestored in a graphics and sounds buffer 241 before being supplied to thecombiner 209. In some embodiments, the graphics and sounds bufferincludes a palette or color look up table. The game graphics may beconsidered an overlay relative to the decoded video signal from themedia decoder. In some embodiments, the game graphics include an alphachannel that the combiner uses to alpha blend the decoded video signaland the game graphics. In other embodiments, the game graphics and thedecoded video signal are combined using chroma keying.

The movie player includes a user interface 243 for receiving userinputs, such as from a wireless transceiver or transmitter, which may bea BLUETOOTH® compliant transmitter or an infrared remote control or, insome embodiments, from other handheld consumer electronic devices suchas cellular telephones, portable music players, or other such deviceswith BLUETOOTH® or infrared transmission capabilities. In someembodiments the processor may receive inputs through the user interfacefrom a controller signaling actions of a game player, and in someembodiments the controller may be a controller as discussed with respectto FIG. 1, or a remote control, cellular telephone, portable musicplayer, or other device. The processor is also coupled to a storagedevice 247 by a storage controller 245. In some embodiments, the storagedevice is a hard disk drive. The storage device may be used, forexample, to store game information related to users of the movie player.In some embodiments, at least some of the program instructions and audioand video data are stored on the storage device.

In some embodiments the processor is also coupled to a networking module225 to provide communication over a network interface 231. Thenetworking module generally conforms to a standard, for example,Ethernet, with the interface providing a corresponding connection, forexample, RJ45. The networking module allows the processor to communicatewith other devices having compatible communication mechanisms. Theprocessor may receive inputs over the network interface from acontroller signaling actions of a game player, either instead of or inaddition to receiving such inputs through the user interface 243.Additionally, the networking module may be used to download or uploadgame information, for example, from an Internet site or from a computerover a local network.

The audio and video data stored in the movie player may include datarepresenting recorded audio-video information, for example, a movie or amusic video. In another example, the audio and video data may includepreviously rendered graphics, for example of a three-dimensional scenewhich may simply be termed three-dimensional graphics. In someembodiments, the audio and video data are stored as a number of clips ofencoded audio and video information, for example, formatted as MPEG-2transport streams. Some clips may include multiple audio or videocomponents, for example, different viewing positions in athree-dimensional world, different angles, different audio sounds, ordifferent languages. The video of each clip commonly includes a sequenceof frames.

The processor controls operation of the media decoder to determine whatdecoded audio and video signals it produces. In addition to determiningwhat data from the video disc are supplied to the media decoder, theprocessor may control the playback speed of the media decoder and mayselect which of multiple channels that may be in the data from the videodisc are output from the media decoder. In some embodiments, theprocessor may instruct multiple channels to be output simultaneously,for example, by mixing decoded audio signals with different volumelevels or combining decoded video signals in a picture-in-picturemanner. In some embodiments, the processor's control of the mediadecoder is based on game play. More particularly, the determination ofwhat data is to be supplied to the media decoder for playback andcharacteristics of the playback such as speed, outputs, and volume mayvary based on the actions of the game player. Additionally, theprocessor coordinates its commanding of game graphics and game soundswith, in various embodiments, determination of data to be supplied tothe media decoder or timing of data supplied to the media decoder.

The clips of encoded audio and video information, in some embodiments,are decoded by the media player in segments from a beginning time to anending time identified by time stamps identifying time points within theclip. Multiple segments may be decoded in sequence according to a listof segments. The list of segments may be termed a PlayList where thePlayList has one or more clip identifiers, beginning times, and endingtimes termed PlayItems. In various embodiments, game play may includeplayback of audio and video data in units of PlayLists, PlayItems, orarbitrary segments. Accordingly, the processor may control how the mediadecoder produces decoded audio and video signals by commanding decodingof a specified PlayList, decoding of a specified PlayItem selected froma PlayList, or decoding of a specified clip from a specified beginningtime to a specified ending time.

FIG. 3 is a flowchart of a process for a video game in accordance withaspects of the invention. In some embodiments, the process is performedby a movie player executing program instructions, for example, the movieplayer of FIG. 2. In some embodiments, the movie player is a Blu-rayplayer and the program instructions are stored on an optical disc oranother computer-readable medium. The process may begin when a gameplayer inserts an optical disc into the movie player or when the gameplayer selects a game to begin from a menu.

In block 313, the process begins playing back, or streaming, anaudio-video background for display and sound reproduction. Whataudio-video background the process plays back may vary, for example,depending on the game player's menu selection, preferences of the gameplayer, or past performances by the game player. In an embodiment for amusic game, the audio-video background may be a music video to which thegame player will perform. In embodiments of the process performed by amovie player, the data for the audio-video background is generallystored local to the movie player. In some embodiments, the data for theaudio-video background is stored in a compressed form and playing backthe audio-video background includes decompressing the data. The processadditionally establishes an initial game state including, for example, ascore, a difficulty level, and other game player status.

In block 315, the process displays an initial overlay on the audio-videobackground. The overlay includes game graphics with information aboutthe video game such as a score and prompts for actions by the gameplayer. For example, in a driving game, the overlay may include arrowsprompting the game player to perform corresponding steering,accelerating, or braking actions. The process may also produce gamesounds to accompany the game graphics. In some embodiments, the processis for a video game having multiple game players and some game soundsand game graphics may be associated with certain game players.

In block 321, the process polls for input from the game player. Inputfrom the game player may be received from a controller by way of anadapter as illustrated in FIG. 1. In various embodiments the controllermay be, for example, a standard game controller, a simulated musicalinstrument or other simulated device, a controller with an accelerometeror other motion or position sensitive device, or an imaging or positionsensor which detects or can be used to detect game player position ormotion. Inputs from the game player are commonly signaled electrically,although the type of physical action taken by the game player varieswith the particular type of game. For example, in a karaoke game, thegame player may provide inputs to the process by singing. In someembodiments, the process may use a digital signal processing device totransform signals reflecting game player inputs, for example, by pitchdetection or correction, before the signals are received by a processorperforming parts of the process.

In block 323, the process updates the game state based on the inputreceived in block 321. How a received input alters the game state willgenerally depend on the current game state and timing of the input. Inparticular, updating the game state is synchronized to progression ofthe audio-video background. The process may additionally alter playbackof the audio-video background based on the input received in block 321.For example, the process may individually alter the volumes of multipleaudio channels included in the audio-video background.

In block 325, the process displays an updated overlay, including anyassociated game sounds, based on the updated game state from block 323.The updated overlay may include, for example, prompts for new actionsfor the game player to perform, an indication of whether the game playerperformed prior actions correctly, and a current game score. In someembodiments, correctness of performance by the game player is indicatedby color changes in the displayed overlay. In other embodiments, theprocess indicates correctness of performance by the game player usinggame sounds. The process times displaying of the updated overlay to besynchronized with the audio-video background. For example, a processorcontrolling a movie player may wait for playback of the audio-videobackground to reach a certain time stamp before commanding display ofthe updated overlay. In another example, the updated overlay may includea time stamp indicating at what time in the audio-video background thenew overlay is to be displayed. In some embodiments, the process createsa set or sequence of updated overlays. Each updated overlay in thesequence may be displayed, for example, overlaid on sequential frames ofthe video background.

In block 327, the process checks if the audio-video background hascompleted. Completion may be based, for example, on reaching an endingtime stamp value. If the audio-video background has completed, theprocess returns; otherwise, the process returns to block 321.

FIG. 4 is a flowchart of another process for a video game in accordancewith aspects of the invention. In some embodiments, the process isperformed by a movie player executing program instructions, for example,the movie player of FIG. 2. In some embodiments, the movie player is aBlu-ray player and the program instructions are stored on an opticaldisc or another computer-readable medium. The process may begin when agame player inserts an optical disc into the movie player or selects agame to begin from a menu.

In block 413, the process begins playing back, or streaming, an initialaudio-video segment, termed a PlayItem and having a duration indicatedby beginning and ending time stamps, to provide an audio-videobackground for display and sound reproduction. What initial audio-videosegment the process streams may vary, for example, depending on the gameplayer's menu selection, preferences of the game player, or pastperformances by the game player. In a music game, the audio-videobackground may be, for example, a music video to which the game playerwill perform. The process additionally establishes an initial game stateincluding, for example, a score, a difficulty level, and other gameplayer status.

In block 415, the process displays an initial overlay on the audio-videobackground. The overlay may include such information as a score andprompts for game player actions. For example, in a music game, theoverlay may include a music track prompting the game player to performcorresponding actions on a controller. The overlay may be termed gamegraphics. The process may produce game sounds to accompany the gamegraphics.

In block 421, the process polls for input from the controller. Inputfrom the game player may be received from the controller by way of anadapter as illustrated in FIG. 1. The input received may indicate, forexample, button presses on the controller, movements of the controller,or, in some cases, no action by the game player. Inputs from the gameplayer are commonly signaled electrically although the type of physicalaction taken by the game player varies with the particular type of game.

In block 423, the process updates the game state based on the inputreceived in block 421. How a received input alters the game state willgenerally depend on the current games state and timing of the input. Inparticular, updating the game state may depend on progression ofplayback of the PlayItem. For example, in a music game, the processtimes prompts for the game player to perform a note to matchcorresponding audio in the PlayItem. In some embodiments, the processmay alter streaming of the PlayItem based on inputs from the gameplayer. For example, volumes of audio channels may be raised or lowered.

In block 425, the process displays an updated overlay, including anyaccompanying game sounds, based on the updated game state from block423. The updated overlay may include, for example, new prompts foractions by the game player, an indication of whether the game playerperformed prior actions correctly, and a current game score. In someembodiments, correct performance is indicated by highlighting portionsof the displayed overlay. The process times displaying of the updatedoverlay to be coordinated with progression of the PlayItem. In someembodiments, the process uses a time stamp to indicate at what time inthe PlayItem the updated overlay is to be displayed. Additionally, theprocess creates a set or sequence of updated overlays in someembodiments. Each updated overlay in the sequence may be displayed, forexample, overlaid on corresponding sequential video from the PlayItem.

In block 435, the process checks if streaming of the PlayItem hascompleted. Completion may be based, for example, on reaching the endingtime stamp of the PlayItem. If the PlayItem has completed, the processcontinues to block 437; otherwise, the process continues to block 439.In some embodiments, the process determines completion in advance of thefinal portions of the PlayItem being reproduced to allow for delays insubsequent process actions.

In block 437, the process selects a next PlayItem to be streamed. Theselection may be based on how well the game player has performed priorportions of the game. For example, if the game player has performedrelatively well, a faster paced next PlayItem may be selected and if thegame player has performed relatively poorly, a slower paced nextPlayItem may be selected. The process thereafter continues to block 439.

In block 439, the process checks if the game has completed. Completionmay be based, for example, on elapsed time since the game started,completion of a final PlayItem, or completion of a sequence of actionsby the game player. If the game has completed, the process returns;otherwise, the process returns to block 421. The process may saveinformation about the game, for example, the game player's score andperformance level, before returning.

FIG. 5 is a flowchart of another process for a video game in accordancewith aspects of the invention. In some embodiments, the process isperformed by a movie player executing program instructions, for example,the movie player of FIG. 2. In some embodiments, the movie player is aBlu-ray player and the program instructions are stored on an opticaldisc or another computer-readable medium. The process may begin when agame player inserts an optical disc into the movie player or selects agame to begin from a menu.

In block 513, the process begins playing back an audio-video clip toprovide an audio-video background for display and sound reproduction.The audio-video clip includes time stamps that indicate elapsed timeswithin the clip. The process begins streaming the clip at an initialtime stamp. The audio-video clip that the process begins playing backand the initial time stamp may vary, for example, depending on the gameplayer's menu selection, preferences of the game player, or pastperformances by the game player. The process additionally establishes aninitial game state including, for example, a score, a difficulty level,and other game player status.

In block 515, the process displays an initial overlay, or game graphics,on the audio-video background. The overlay may include such informationas a score, prompts for game player actions, and indicators of othergame status. The process may additionally produce game soundsaccompanying the overlay. In some embodiments, the process is for avideo game having multiple game players and some game sounds and gamegraphics may be associated with particular game players.

In block 521, the process polls for input from the game player. Inputfrom the game player may be received from a controller by way of anadapter as illustrated in FIG. 1. In some embodiments, the processreceives inputs from the game player using an interrupt mechanisminitiated by the controller.

In block 523, the process updates the game state based on the inputreceived in block 521. How a received input alters the game state willgenerally depend on the current games state and the timing of the input.In particular, updating the game state depends on progression of playingback the audio-video background.

In block 525, the process displays an updated overlay, includingaccompanying game sounds, based on the updated game state from block523. The updated overlay may include, for example, new prompts foractions by the game player, indications of the correctness of prior gameplayer actions, and a current game score. In some embodiments, theupdated overlay may indicate correct performance by the game player byhighlighting items in the displayed overlay or by producing game sounds.The process times displaying of the updated overlay to be synchronizedwith progression of the audio-video background. For example, the updatedgame state may include a time stamp indicating at what time in theaudio-video clip the new overlay is to be displayed.

In block 531, the process checks if playback of the audio-video clipshould be changed to a new time stamp. The process may determine that itshould change to a new time stamp based on the updated game state. Ifthe time stamp should be changed, the process continues to block 533;otherwise, the process continues to block 541.

In block 533, the process selects a new time stamp in the audio-videoclip from which to stream the audio-video background. The selection isgenerally based on the game state. For example, in a driving game, thegame player's actions may lead to the game state transitioning to acrash, and the process would select the new time stamp to stream anappropriate crash sequence. In another example, if the game stateindicates that the game player should be given increased challenges, theprocess may select the time stamp of sequence that has a relatively fastpace. In some embodiments, the process may be constrained in selectingthe new time stamp. For example, the audio-video clip may have a limitednumber of time stamps that streaming can begin from. Additionally, theprocess may limit selection of time stamps to those that providecontinuity with the preceding content of the clip. For example, theaudio-video clip in a music game may include portions with the sameaudio content but different video content, and the process may selectthe new time stamp so that the audio content is reproduced unbroken. Insome embodiments, the process may select a new time stamp in advance ofwhen the corresponding audio and video will be reproduced, for example,to allow for processing delays such as reading the correspondinginformation from an optical disc.

In block 541, the process checks if the game has completed. Completionmay be based, for example, on the elapsed time since the game started orcompletion of a sequence of actions by the game player. If the game hascompleted, the process returns; otherwise, the process returns to block521.

FIG. 6 is a flowchart of a process for a music-based video game inaccordance with aspects of the invention. In some embodiments, theprocess is performed by a movie player executing program instructions,for example, the movie player of FIG. 2. Program instructions for theprocess may be stored on an optical disc or another computer-readablemedium. The music-based video game overlays a music track on a musicvideo. The music video includes a sequence of audio and video segmentsthat are played back to provide an audio-video background for displayand sound reproduction. In some embodiments, each of the audio and videosegments is one song. The process modifies the music track as the musicvideo progresses. The process additionally controls the sequence ofaudio and video segments. The process may also alter playback of theaudio-video background, for example, by changing volumes of audiochannels included in the audio-video background.

The music track includes gems to provide a user with instructions ofactions to perform on a controller, for example, a guitar controller.Expected user actions may be based on colors and positions of the gems.In one embodiment, the gems initially appear in an upper portion of adisplay screen and move generally toward a lower portion of the displayscreen. A horizontal NOW bar is displayed in the lower portion of thedisplay screen with many user actions instructed to be performed whengems reach the NOW bar. The process also produces game sounds toaccompany the music track. The process may select or alter theaudio-video background and the music track, for example, depending onthe user's selections, stored preferences of the user, or pastperformances by the user.

In block 613, the process begins playing back an initial segment of themusic video, termed an initial PlayItem and having a duration indicatedby beginning and ending time stamps. The PlayItem may be a portion of amusic concert and may include a musician whose role the user willperform. The process additionally establishes an initial game stateincluding, for example, a score, a difficulty level, type of controller,and other user status. In some embodiments, the process is for amusic-based video game having multiple users, and the game stateincludes information for each of the users.

In block 615, the process displays an initial music track on theaudio-video background. The initial music track may be displayed at thebeginning time point of the initial PlayItem that it is overlaid on. Inaddition to the gems and NOW line described above, the process maydisplay a score indicator, a power meter, and other indications of gamestatus. In many embodiments, the music track is alpha blended with theunderlying music video. Accordingly, the music track includes an alphachannel indicating the relative display intensities of the music trackand the music video. More particularly, the process may combine themusic track and audio-video background by adding values of pixels in themusic track scaled by an alpha parameter to values of pixels in theaudio-video background scaled by one minus alpha.

In block 621, the process polls for input from the user. Input from theuser may be received from the controller by way of an adapter asillustrated in FIG. 1. Inputs from the user are commonly signaledelectrically although the type of physical action taken by the uservaries with the particular type of game. For example, the user mayprovide inputs by performing a strumming action on a guitar controller.

In block 623, the process checks for user compliance with theinstructions contained in the music track. For example, when certaingems or combinations of gems reach the NOW bar, a corresponding usermanipulation of the controller is considered correct. Often, usercompliance is based on the specific user manipulation of the controllerand the timing of the user's actions.

In block 625, the process updates the game state based on the usercompliance from block 623. An updated music track is generated based onthe updated game state. The updated music track may indicate the user'scompliance, for example, by changing gem colors or transparency.Additionally or alternatively, the process may use game sounds to signalthe degree of compliance. The process may also change the scoreindicator based on the degree of compliance. In some embodiments,updating the music track includes scrolling the position of the priormusic track relative to the underlying music video. The updated musictrack may also include added gems instructing the user on future actionsto perform on the controller. The new gems correspond to upcoming notesin the music video. In some embodiments, any user action may beconsidered correct. In these “free play” embodiments, the music track isupdated to indicate the user's actions, for example, by showing musicalnotes corresponding to the user's manipulation of the controller.

In block 627, the process displays an updated music track using theupdate performed in block 625. The process times displaying of theupdated music track to be synchronized with progression of the PlayItem.For example, the updated music track may be associated with a time stampindicating at what time in the PlayItem the new overlay is to bedisplayed. In some embodiments, the process may create a set or sequenceof updated music tracks, for example, with gems having relativelyscrolled positions. Each updated music tracks may be displayed in asequence overlaid on a sequence of video from the PlayItem. The processmay alter playback of the PlayItem based on the game state. In someembodiments, the PlayItem includes multiple audio channels with thevolume of a channel associated with the user lowered when the userperforms poorly and raised when the user performs well. Moreparticularly, in a guitar-based game, the process may raise or lower thevolume of an audio channel containing a guitar track. In a multiple usergame embodiment, the audio produced may be panned, for example, bychanging a left-right balance control, based on relative performance ofthe users.

In block 635, the process checks if the PlayItem has completed.Completion may be based, for example, on the PlayItem reaching itsending time stamp value. If the PlayItem has completed, the processcontinues to block 637; otherwise, the process continues to block 639.In some embodiments, the process determines completion of the PlayItemin advance of the final portions of the item being reproduced to allowfor delays in subsequent process actions.

In block 637, the process selects a next PlayItem to be streamed. Theselection may be based on how well the user has performed prior portionsof the game. For example, if the game player has performed relativelywell, a PlayItem with an enthusiastic audience may be selected and ifthe game player has performed relatively poorly, a PlayItem with a lessenthusiastic audience may be selected. Both selections of PlayItems maycontain the same audio stream. Additionally, the next PlayItem isgenerally selected to have continuity with the preceding PlayItem andparticularly to avoid an audible transition. In a multiple userembodiment, the process may select the next PlayItem based on therelative performance of the users, for example, to stream audio andvideo with features emphasizing the better performing user. In someembodiments, for example, when the PlayItem contains one song, selectionof the net PlayItem may be made from a pre-established play list ofsongs. The process thereafter continues to block 639.

In block 639, the process checks if the game has finished. Finishing maybe based, for example, on the elapsed time since the game started, on afinal PlayItem reaching its ending time stamp, or a user input. If thegame has finished, the process returns; otherwise, the process returnsto block 621. The process may save information about the game, forexample, the user's score and performance level, before returning.

FIG. 7 is a block diagram of a game controller adapter 701 in accordancewith aspects of the invention. The game controller adapter may be theadapter of the video game system of FIG. 1. The game controller adapteradapts signals received on a USB interface 711 for transmission on anEthernet interface 721 and signals received on the Ethernet interfacefor transmission on the USB interface. The USB interface may be coupledto a game controller, for example, a guitar-shaper controller. Signalsfrom the game controller are coupled to a USB host 713. The USB hostcommunicates with the controller according to a USB protocol andsupplies data to a converter 731. In some embodiments, the gamecontroller adapter includes additional interfaces. For example,additional USB interfaces may be used to connect to multiple gamecontrollers, or an additional Ethernet interface may be used to providea connection to the Internet.

The Ethernet interface may be coupled to a movie player. Signals fromthe movie player are coupled to an Ethernet server 723. The Ethernetserver communicates with the movie player according to an Ethernetprotocol and supplies data to the converter 731.

The converter modifies the data received from the USB host fortransmission to by the Ethernet server. The modification may include,for example, adapting protocol negotiation and synchronization andbuffering data to match differing communication rates of the USB andEthernet protocols. An embodiment of the converter may compress datareceived from the USB host before supplying the data to the Ethernetserver.

Although the invention has been described with respect to certainspecific embodiments, it should be recognized that the inventioncomprises the novel and unobvious claims supported by this disclosure,along with their insubstantial variations.

1. A method performed by a movie player including a video disc reader, amedia decoder for decoding audio-video data from the video disc reader,and a processor configured by program instructions, the methodcomprising: commanding playback of a video clip comprised of a sequenceof video frames as part of providing presentations of a video game, theplayback of the video clip including decoding of video data stored on alocal removable optical media to provide decoded video signals;commanding display of game graphics as part of providing presentationsof the video game in conjunction with playback of the video clip, withdisplay location of game graphics coordinated with respect to displaylocation of video imagery of the video frames; and commanding display ofrevised game graphics as part of providing presentations of the videogame based on input received from a controller data-coupled to the movieplayer.
 2. The method of claim 1, wherein the video data comprises videodata for video frames, the video frames including portions substantiallydevoid of video imagery.
 3. The method of claim 2, wherein displaylocation of the game graphics is located in display location of thevideo frame portions substantially devoid of video imagery.
 4. Themethod of claim 1, wherein the video data comprises video data for videoframes, the video frames including portions providing foreground videoimagery and background video imagery, and wherein display location ofthe game graphics is located in display location of the background videoimagery.
 5. The method of claim 1, wherein commanding display of revisedgame graphics is further based on timing of the playback of the videoclip as indicated by timing information associated with the video data.6. The method of claim 1, further comprising commanding playback of afurther video clip comprised of a further sequence of video frames basedon the input received from the controller.
 7. The method of claim 1,further comprising: commanding playback of an audio clip, the playbackof the audio clip including decoding of audio data stored on theremovable optical media memory to provide decoded audio signals; anddetermining a volume of playback of at least part of the audio clipbased on the input received from the controller.
 8. The method of claim7, further comprising commanding playback of another audio clip based onthe input received from the controller.
 9. The method of claim 7,wherein the audio clip comprises audio of a first audio channel andaudio of a second audio channel, and wherein determining the volume ofplayback of at least part of the audio clip based on the input receivedfrom the controller comprises determining a volume of at least one ofthe audio of the first audio channel and the audio of the second audiochannel based on the input received from the controller.
 10. The methodof claim 9, wherein the audio of the second audio channel includes audioassociated with a game player and the volume of the second audio channelis lowered when the input received from the controller differs from aninstructed input.
 11. The method of claim 9, further comprisingdetermining a left-right balance of at least one of the audio of thefirst audio channel and the audio of the second audio channel based onthe input received from the controller.
 12. The method of claim 7,further comprising commanding presentation of additional game soundsbased on the input received from the controller.
 13. The method of claim1, further comprising, based on the input from the controller,determining whether playback of the video clip should transition to anew frame in the sequence of video frames, and if playback of the videoclip should transition to a new frame in the sequence of video frames,determining the new frame in the sequence of video frames and commandingplayback of the video clip beginning at the new frame.
 14. The method ofclaim 1, further comprising, based on the input from the controller,determining whether playback of the video clip should transition to afurther video clip comprised of a further sequence of video frames, andif playback of the video clip should transition to the further videoclip, commanding playback of the further video clip.
 15. A system forvideo game play configured by program instructions, the devicecomprising: an optical disc reader for reading data from an opticaldisc, the data including audio and video data; a media decoder coupledto the optical disc reader and configured to decode the audio-video datato produce decoded audio and video signals; a processor coupled to theoptical disc reader and configured by program instructions to commandpresentation of game graphics and additional game sounds, at least someof the game graphics or additional game sounds in response to actions bya game player; and a game controller coupled to the processor andconfigured to receive actions from the game player and supplycorresponding signals to the processor.
 16. The system of claim 15,wherein the program instructions comprise instructions that configurethe processor to: command playback of a video clip comprised of asequence of frames of video information read by the video disc reader;and command presentation of revised game graphics based on the actionsby the game player.
 17. The system of claim 15, wherein the gamecontroller is coupled to the processor by way of an adapter that adaptsa USB connection to the game controller to an Ethernet connection to theprocessor.
 18. A non-transitory computer-readable medium containingprogram instructions, the program instructions comprising: instructionsthat command playback of a video clip comprised of a sequence of videoframes as part of providing presentations of a video game, the playbackof the video clip including decoding of video data to provide decodedvideo signals; instructions that command display of game graphics forthe video game in display locations that do not substantially degradeviewing of video frames of the video clip; and instructions that commanddisplay of revised game graphics based on input received from acontroller.
 19. The non-transitory computer-readable medium of claim 18,further containing the sequence of video frames.
 20. The non-transitorycomputer-readable medium of claim 18, wherein the playback furtherincludes reading of the video data from the computer-readable medium.21. The non-transitory computer-readable medium of claim 18, wherein theplayback further includes reading of the video data from a video disc.22. The non-transitory computer-readable medium of claim 18, wherein theinstructions that command display of revised game graphics compriseinstructions that command display of revised game graphics based ontiming of the playback of the video clip as indicated by timinginformation associated with the video data.
 23. The non-transitorycomputer-readable medium of claim 16, wherein the program instructionsfurther comprise instructions that command playback of a further videoclip comprised of a further sequence of video frames based on the inputreceived from the controller.
 24. The non-transitory computer-readablemedium of claim 18, wherein the program instructions further comprise:instructions that command playback of an audio clip, the playback of theaudio clip including decoding of audio data to provide decoded audiosignals; instructions that command presentation of game sounds; andinstructions that command presentation of revised game sounds based onthe input received from the controller.
 25. The non-transitorycomputer-readable medium of claim 24, further containing the audio data.26. The non-transitory computer-readable medium of claim 24, wherein theprogram instructions further comprise instructions that command playbackof another audio clip based on the input received from the controller.27. The non-transitory computer-readable medium of claim 24, wherein theaudio clip comprises audio of a first audio channel and audio of asecond audio channel, and wherein the program instructions furthercomprise instructions that determine a volume of at least one of theaudio of the first audio channel and the audio of the second audiochannel based on the input received from the controller.
 28. Thenon-transitory computer-readable medium of claim 27, wherein the audioof the second audio channel includes audio associated with a gameplayer, and wherein the instructions that determine a volume of at leastone of the audio of the first audio channel and the audio of the secondaudio channel based on the input received from the controller includeinstructions that command the volume of the second audio channel belowered when the input received from the controller differs from aninstructed input.
 29. The non-transitory computer-readable medium ofclaim 27, wherein the program instructions further comprise instructionsthat determine a left-right balance of at least one of the audio of thefirst audio channel and the audio of the second audio channel based onthe input received from the controller.
 30. The non-transitorycomputer-readable medium of claim 8, wherein the program instructionsfurther comprise instructions that, based on the input from thecontroller, determine whether playback of the video clip shouldtransition to a new frame in the sequence of video frames, and ifplayback of the video clip should transition to a new frame in thesequence of video frames, determine the new frame in the sequence ofvideo frames and command playback of the video clip beginning at the newframe.
 31. The non-transitory computer-readable medium of claim 18,wherein the program instructions further comprise instructions that,based on the input from the controller, determine whether playback ofthe video clip should transition to a further video clip comprised of afurther sequence of video frames, and if playback of the video clipshould transition to the further video clip, command playback of thefurther video clip.